bool bit 1 bit 0,1
byte tinyint 1 0到255
short smallint 2 -32768到32767
int int 4 -2147483648到2147483647
long bigint 8 -9223372036854775808到9223372036854775807
float real 4 ±1.5 × 10e-45 to ±3.4 × 10e38
double float 8 ±5.0 × 10e-324 to ±1.7 × 10e308
decimal decimal 9 ±1.0 × 10e-28 to ±7.9 × 10e28
DateTime datetime 8
string nvarchar 最大8000字
string ntext 最大2^30-1字
在做資料存取時,雖然一般來說,資料庫的欄位如DATETIME INT 也可以用字串去存入,但最好還是用原來對應的形態去存取,如INT就用INT去存取,雖然SQL中當成字串組合SQL STATEMENT時也是可以存,另外資料庫存時間的欄位,DATETIME就用DATETIME,常有人開成VARCHAR,當成時間用,而SQL2008後真對時間又有了多種的彈性欄位的形態可選用,這後面的單元會說到,養成好的習慣就不會覺得麻煩,而總是得過且過就永遠都是模糊的解決問題,就如同資料庫要開立個只能存TRUE OR FALSE的欄位,就用bit就可了,但就是有些工程人員不願去多看一些文件,資料庫永遠只有兩種形態的欄位,一個是varchar 一個是int,若是程式中double的形態的資料呢,int怎麼存的下,發現竟然解決方式是程式中把double轉成字串,存入資料庫的varchar,要從資料庫取出資料時,在用程式把varchar也就是程式中的string轉為double,這不但浪費效能,也沒效率,更是敷衍的過且過的做法.